﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using SalePartial.Model;
using System.Data;
using System.Data.SqlClient;

namespace SalePartial.IDAL
{
    public interface IXPQuote
    {
        // Methods
        //<DataObjectMethod(DataObjectMethodType.Delete)> _
        int Delete(Guid QuoteID);

        //<DataObjectMethod(DataObjectMethodType.Delete)> _
        int DeleteByCompanyID(Guid CompanyID);

        //<DataObjectMethod(DataObjectMethodType.Delete)> _
        int DeleteByInquiryID(Guid InquiryID);

        //<DataObjectMethod(DataObjectMethodType.Delete)> _
        int DeleteByUserID(Guid UserID);

        //<DataObjectMethod(DataObjectMethodType.Delete)> _
        int DeleteDynamic(string v_whereCondition);

        //<DataObjectMethod(DataObjectMethodType.Insert)> _
        int Insert(XPQuoteInfo info);

        //<DataObjectMethod(DataObjectMethodType.Select)> _
        DataSet SelectAll();

        //<DataObjectMethod(DataObjectMethodType.Select)> _
        DataSet SelectByCompanyID(Guid CompanyID);

        //<DataObjectMethod(DataObjectMethodType.Select)> _
        DataSet SelectByInquiryID(Guid InquiryID);

        //<DataObjectMethod(DataObjectMethodType.Select)> _
        DataSet SelectByUserID(Guid UserID);

        //<DataObjectMethod(DataObjectMethodType.Fill)> _
        DataSet SelectDynamic(string v_whereCondition, string v_orderByExpression);

        //<DataObjectMethod(DataObjectMethodType.Fill)> _
        DataSet SelectPaged();

        //<DataObjectMethod(DataObjectMethodType.Select)> _
        SqlDataReader SelectReader(Guid QuoteID);

        //<DataObjectMethod(DataObjectMethodType.Select)> _
        SqlDataReader SelectReaderByCompanyID(Guid CompanyID);

        //<DataObjectMethod(DataObjectMethodType.Select)> _
        SqlDataReader SelectReaderByInquiryID(Guid InquiryID);

        //<DataObjectMethod(DataObjectMethodType.Select)> _
        SqlDataReader SelectReaderByUserID(Guid UserID);

        //<DataObjectMethod(DataObjectMethodType.Select)> _
        DataSet SelectSingle(Guid QuoteID);

        //<DataObjectMethod(DataObjectMethodType.Update)> _
        int Update(XPQuoteInfo info);
    }
}
